﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kokomo.Lexical.Expressions;
using Kokomo.Lexical.Coding;

namespace Kokomo.PeInspector.Reflection.Disassembly
{
	class StatementFrameInfo
	{
		public StatementFrameInfo(
			Statement statement,
			int msilStart,
			int msilEnd
			)
		{
			if (statement == null) throw new ArgumentNullException("statement");

			this.Statement = statement;
			this.MsilStart = msilStart;
			this.MsilEnd = msilEnd;
			this.VariableReferences = new List<MsilVariableReference>();
		}
		public int MsilStart { get; private set; }
		public int MsilEnd { get; private set; }
		public List<MsilVariableReference> VariableReferences { get; private set; }
		public Statement Statement { get; private set; }
		public int LexicalLevel { get; set; }
	}
}
